#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
int gval =100;
int main()
{
  printf("父进程开始运行，pid:%d\n",getpid());
  pid_t id=fork();
  if(id<0)//创建失败了
  {
    perror("fork");
    return 1;
  }
  else if(id==0)//子进程的返回值id为0的话，就说明子进程创建成功了
  {
      printf("我是一个子进程！我的pid:%d，我的父进程id:%d,gval:%d\n",getpid(),getppid(),gval);

    sleep(5);//每隔一秒休眠一次
    //child
    while(1)//我们子进程循环打印进程
    {
      sleep(1);
      printf("子进程修改变量：%d->%d",gval,gval+10);
      gval+=10;//修改
      printf("我是一个子进程！我的pid:%d，我的父进程id:%d\n",getpid(),getppid());
    }
  }
  else{
    //father
    while(1)//我们子进程循环打印进程
    {
      sleep(1);//每隔一秒休眠一次
      printf("我是一个父进程！我的pid:%d，我的父进程id:%d,gval:%d\n",getpid(),getppid(),gval);
    }
  }
  printf("进程开始运行，pid:%d",getpid());
  //chdir("/home/kk");//在启动的时候将当前的工作路径改动一下
  //fopen("hello.txt","a");//新建这个文件
  //while(1)
  //{
  //  sleep(1);//每隔一秒休眠一次
  //  printf("我是一个进程！我的pid:%d，我的父进程id:%d\n",getpid(),getppid());
  //}
  return 0;
}
